#define _CRT_SECURE_NO_WARNINGS 1

//#include <stdio.h>
//
//int* findErrorNums(int* nums, int numsSize/*, int* returnSize*/) {
//    int arr[10] = {1,2,3};
//    memset(arr, 0, sizeof(int) * numsSize);
//    int s[2] = { 0 };
//    int i = 0;
//    for (i = 0; i < numsSize; i++)
//    {
//        arr[*(nums + i)] += 1;
//    }
//    for (i = 1; i <= numsSize; i++)
//    {
//        if (arr[i] == 2)
//        {
//            s[0] = i;
//        }
//        if (arr[i] == 0)
//        {
//            s[1] = i;
//        }
//    }
//    printf("%d %d", s[0], s[1]);
//}
//
//int main()
//{
//    int arr[] = { 1,1,3,4 };
//    int sz = sizeof(arr) / sizeof(arr[0]);
//    findErrorNums(arr, sz);
//    return 0;
//}




#include <stdio.h>
#include <string.h>

int* findErrorNums(int* nums, int numsSize, int* returnSize) {
    int arr[10002];
    memset(arr, 0, sizeof(int) * 10002);
    //int s[2] = { 0 };
    int* errorNums = malloc(sizeof(int) * 2);
    int i = 0;
    for (i = 0; i < numsSize; i++)
    {
        arr[*(nums + i)] += 1;
    }
    for (i = 1; i <= numsSize; i++)
    {
        if (arr[i] == 2)
        {
            errorNums[0] = i;
        }
        if (arr[i] == 0)
        {
            errorNums[1] = i;
        }
    }
    //printf("%d %d", s[0], s[1]);
    *returnSize = 2;
    return errorNums;
}

int main()
{
    int* a = (int *)malloc(sizeof(int) * 2);
    a[0] = 1;
    int arr[] = { 1,1 };
    int r = 0;
    int sz = sizeof(arr) / sizeof(arr[0]);
    findErrorNums(arr, sz, r);
    //printf("%d %d", r[0], r[1]);
    return 0;
}